/* Abstract class that provides funtions 
 * used for walls and wall detection. 
 * Inherits IObject
 */

#pragma once

#include "IObject.h"

class IWall: public IObject
{
public:
	virtual Ogre::Vector3 From()=0;
	virtual void SetFrom(Ogre::Vector3 nA)=0;
	virtual Ogre::Vector3 To()=0;
	virtual void SetTo(Ogre::Vector3 nB)=0;
	virtual Ogre::Vector3 Height()=0;
	virtual void SetHeight(Ogre::Vector3 nC)=0;
	virtual Ogre::Vector3 Width()=0;
	virtual void SetWidth(Ogre::Vector3 nD)=0;
	virtual Ogre::Vector3 Normal()=0;
	virtual void SetNormal(Ogre::Vector3 nN)=0;
	virtual Ogre::Vector3 GetCenter()=0;

protected:
	virtual void CalculateNormal()=0;
};